<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>判断完美数</title>
    <script>
      //一个数恰好等于它的因数之和，则称该数为“完美数”。
      function isPerfectNum(num) {
        //完美数特有性质：（5）完全数都是以6或8结尾。如果以8结尾，那么就肯定是以28结尾；
        // if(i % 10 === 6 || i % 10 === 8) {
        //     alert(num + "是完美数")
        // }else {
        //     alert(num + "不是完美数")
        // }
        var sum = 0;
        var i = 0; //变量初始化
        while (i <= num) {
          //将寻找到的约数相加
          if (num % i === 0) {
            sum += i;
          }
          i++;
        }
        //完美数：num所有约数和减去本身等于num
        if (sum - num === num) {
          alert(num + "是完美数");
        } else {
          alert(num + "不是完美数");
        }
      }
      isPerfectNum(30);
    </script>
  </head>
  <body></body>
</html>
